Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (11)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
cd9e771 to
325aedb
Compare
c32daf4 to
347d278
Compare
58a57e6 to
0c4f89f
Compare
| required: true | ||
| DATADOG_API_KEY: | ||
| required: true | ||
| GORELEASER_PRO_KEY: |
There was a problem hiding this comment.
Do we ever want a build without a MSI?
There was a problem hiding this comment.
ok cool we can make it optional but default to building with an MSI
| os.Exit(1) | ||
| } | ||
|
|
||
| baseURL := fmt.Sprintf("%s/%s", cdnBaseURL, s3Dir) |
There was a problem hiding this comment.
I wonder if someone could add ~ "../../okta" to a tag to get a build into the wrong bucket.
There was a problem hiding this comment.
The tag is already validated by strict semver regex at line 76 in the release.yaml file. The character class [0-9a-zA-Z-] doesn't allow / or . in positions that could form .., so ../../okta is impossible as a tag.
But we can add another check here to be safe, incase that other file ever gets changed.
243c1be to
6294e64
Compare
Build MSI installers for Windows using GoReleaser Pro and WiX Toolset: - Add goreleaser-windows job that runs on Windows runner - Generate MSI with deterministic UpgradeCode (UUID v5 from repo name) - Support custom WXS templates via msi_wxs_path input - Include default WXS template for simple CLI installers - Full attestation coverage: sig, cert, SBOM, provenance for MSI - Flatten MSI directory structure to match binaries job pattern - Go-based manifest generation for type safety Tested with baton-runner (custom WXS) and baton-github-test (default WXS).
- Add `msi` boolean input (default true) for opt-out - Make GORELEASER_PRO_KEY optional, validated when msi=true - Add msi_wxs_path path traversal validation - Fix stale checksums hash: re-compute and re-sign manifest after unified checksums file is created - Switch windows_manifest output to heredoc format - Use randomized heredoc delimiter for checksums output - Add path traversal check in generate-windows-manifest tool - Pin GoReleaser to ~> v2.13 consistently across all jobs - Remove -Recurse from S3 uploads (artifacts already flattened) - Handle skipped goreleaser-windows in record-connector-registry - Update README and docs with msi parameter and validations
6294e64 to
e8e4bc2
Compare
Install verified on Windows runner (baton-github-test v0.1.119-test.2): - Installs to C:\Program Files\ConductorOne\<name> - Binary executes correctly - Clean uninstall removes directory
Summary
Stage 1 implementation of MSI Windows Installer support for connector releases:
New
goreleaser-windowsjob - Runs on Windows runner with WiX Toolset.zipand.msifrom the same Windows binarymsi_wxs_pathinputmsiboolean input (defaulttrue)New templates:
.wxs-default-template.wxs- Default WXS for CLI installers (WiX-compatible version format).goreleaser-windows-template.yaml.tmpl- Windows zip + MSI GoReleaser configUpdated
goreleaser-binaries- Now Linux + macOS only (Windows moved to dedicated job)Unified checksums - Single checksums file containing all platforms, with correct manifest hash
Updated
merge-manifests- Added-windows-manifestflag to include Windows assetsNew
generate-windows-manifest- Go tool using protobuf types for type-safe Windows manifest generation with signatureHref, certificateHref, and attestation supportNew inputs/secrets:
msiboolean input (defaulttrue) to opt out of MSI buildsmsi_wxs_pathinput for custom WXS templates (with path traversal validation)GORELEASER_PRO_KEYsecret (required only whenmsi: true)Security hardening:
msi_wxs_pathinputTest plan
Test manifests:
Follow-up items